FROM ubuntu:22.04

# 设置环境变量
ENV DEBIAN_FRONTEND=noninteractive

# 更新系统并安装依赖
RUN apt update && apt install -y \
    build-essential cmake git pkg-config \
    libgtest-dev nlohmann-json3-dev \
    libspdlog-dev libseccomp-dev \
    && rm -rf /var/lib/apt/lists/*

# 创建工作目录
WORKDIR /judge

# 复制项目文件
COPY . .

# 创建构建目录并编译
# 使用Makefile构建项目
RUN rm -f src/*.o tests/*.o \
    && make clean \
    && find src/ tests/ -name "*.cpp" -exec touch {} + \
    && make \
    && make test

# 设置默认命令
CMD ["/bin/bash"]